详细步骤
1、UI 通常会出一张 640 或者 750 的设计图。
2、在代码方面,首先要添加一行 mete 标签
1 | <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> |
这行 viewport 的意思就是视口 ,可以让网页宽度默认等于屏幕宽度,并且禁止缩放。
3、用 JS 修改 html 的 fontSize
除以 20 的原因是为了将 640 的设计图分为 20 份,纯粹是为了数值好算,并没有其它意义。
1 | document.querySelector('html').style.fontSize = window.screen.width / 20 + 'px'; |
如果是调试的时候,可以这样写,动态改变
1 | window.onresize = function() { |
这段代码需要放在头部,为了最先加载,单独写这一条要注意 window.onresize 的触发时机。
4、css 中的 rem 计算
以640的设计图为例,160 为设计图中测量出来的 160 px,32 为 640 / 20 = 32
1 | .box{ |
如果是 750 的设计图,建议分成 25 份,30 为 750 / 25 = 30
1 | .box{ |
简写
1 | .box { |
使用方法计算
1 | // rem |
总结:
ui出的图就是640的,在头部引入一段JS代码,设置html的fontsize等于屏幕大小除以20,就是分成20分,然后量出设计图中的尺寸,因为640分成20份,就是32,所以再除以32,乘以1rem,就可以得出一个rem的尺寸。